home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C/C++ Users Group Library 1996 July
/
C-C++ Users Group Library July 1996.iso
/
vol_300
/
365_02
/
versions.ms
< prev
Wrap
Text File
|
1992-04-04
|
16KB
|
379 lines
.Go 12 "VERSIONS"
.PP
\*E currently works under BSD UNIX, AT&T System-V UNIX, SCO XENIX,
Minix, Coherent, MS-DOS, Atari TOS, OS9/68k, VAX/VMS, and AmigaDos.
This section of the manual provides special information that applies to each
particular version of \*E.
.PP
For all versions except MS-DOS,
the file "Makefile.mix" should be copied to "Makefile",
and then edited to select the correct set of options for your system.
There is more information about this embedded in the file itself.
.NH 2
BSD UNIX
.PP
Temporary files are stored in /tmp.
.PP
You should modify /etc/rc so that
the temp files are preserved when the system is rebooted.
Find a line in /etc/rc which reads
.br
.ti +0.5i
ex4.3preserve /tmp
.PP
or something like that, and append the following line after it:
.br
.ti +0.5i
elvprsv /tmp/elv*
.PP
If you do not have permission to modify /etc/rc, don't fret.
The above modification is only needed to allow you to recover your changes
after a system crash.
You can still run \*E without that modification,
and you can still recover your changes when \*E crashes
or when your dialup modem looses the carrier signal, or something like that.
Only a system crash or power failure could hurt you.
.PP
Both \*E and the real Vi
read initialization commands from a file called ".exrc",
but the commands in that file might work on one but not the other.
For example, "set keywordprg=man" will work for \*E,
but Vi will complain because it doesn't have a "keywordprg" option.
If the warning messages annoy you, then you can edit the config.h file
to change the name of the initialization file ".exrc" to something else,
such as ".elvisrc".
.PP
If you use X windows, you may wish to add "-DCS_LATIN1" to CFLAGS.
This will cause the digraph table and the flipcase option to have default
values that are appropriate for the LATIN-1 character set.
That's the standard character set for X.
.PP
The default keyboard macro time-out value is larger for BSD than it is for
some other systems, because I've had trouble running \*E via rlogin or Xterm.
I guess it takes a while for those keystokes to squirt through the net.
.NH 2
System-V UNIX
.PP
Most SysV UNIX systems use terminfo instead of termcap,
but the terminfo library doesn't seem to have a standard name.
As shipped, Elvis' Makefile.mix is configured with "LIBS=-lterm".
You may need to change it to "LIBS=-ltermcap" or "LIBS=-lterminfo"
or even "LIBS=-lcurses".
.PP
The /etc/rc file should be modified as described for BSD systems, above.
The only difference is that SysV systems tend to have directories for
initialization, instead of a single large /etc/rc file.
Editor recovery is usually done somewhere in the /etc/rc2.d directory.
.PP
The potential trouble with ".exrc" described above for BSD UNIX applies
to System-V UNIX as well.
.PP
\*E uses control-C as the interrupt key, not Delete.
.NH 2
SCO Xenix
.PP
For Xenix-386, you can use the generic System-V settings.
You may wish to add "-DCS_IBMPC" to CFLAGS, to have the digraph table and
flipcase option start up in a mode that is appropriate for the console.
There is a separate group of settings for use with Xenix-286.
It already has "-DCS_IBMPC" in CFLAGS.
.PP
Because Xenix is so similar to System-V, everything I said earlier about
System-V applies to the Xenix version too, except that editor recovery
probably belongs in a directory called /etc/rc.d/8.
.NH 2
Minix
.PP
There are separate settings in Makefile.mix for Minix-PC and Minix-68k.
The differences between these two are that
the 68k version uses ".o" for the object file extension where
the PC version uses ".s", and
the PC version has some extra flags in CFLAGS to reduce the size of \*E.
The PC version also uses tinytcap (instead of the full termcap) to make it smaller.
.PP
Minix-PC users should read the CFLAGS section of this manual very carefully.
You have some choices to make...
.PP
The temporary files are stored in /usr/tmp.
The /usr/tmp directory must exist before you run \*E,
and it must be readable/writable by everybody.
We use /usr/tmp instead of /tmp because
after a system crash or power failure,
you can recover the altered version of a file from the temporary file
in /usr/tmp.
If it was stored in /tmp, though, then it would be lost because /tmp is
normally located on the RAM disk.
.PP
\*E uses control-C as the interrupt key, not Delete.
.NH 2
Coherent
.PP
\*E was ported to Coherent by Esa Ahola.
.PP
\*E is too large to run under Coherent unless you eliminate some
features via the CFLAGS setting.
The recommended settings, in Makefile.mix, produce a working version
of \*E which emulates Vi faithfully, but lacks most of the extensions.
You should read the CFLAGS section of this manual carefully.
.PP
You can probably reduce the size of \*E by using tinytcap.c instead of -lterm.
This would allow you to keep most features of \*E,
at the expense of terminal independence.
(Tinytcap.c has ANSI escape sequences hard-coded into it.)
To use tinytcap, just add "tinytcap.o" to the "EXTRA=" line in the Makefile,
and remove "-lterm" from the "LIBS=" line.
.PP
The temporary files are stored in /tmp.
You should modify your /etc/rc file as described for BSD earlier.
.NH 2
MS-DOS
.PP
\*E was ported to MS-DOS by Guntram Blohm and Martin Patzel.
Willett Kempton added support for the DEC Rainbow.
.PP
Ideally, \*E should be compiled with Microsoft C 5.10 and the standard
Microsoft Make utility,
via the command "make elvis.mak".
This will compile \*E and all related utilities.
.PP
With Microsoft C 6.00, you may have trouble compiling regexp.c.
If so, try compiling it without optimization.
.PP
The "Makefile.mix" file contains a set of suggested settings for compiling
elvis with Turbo-C or Borland C.
(If you have Turbo-C, but not the Make utility,
then you can \fIalmost\fR use the "\*E.prj" file to compile \*E,
but you must explicitly force Turbo-C to compile it with the "medium" memory model.
Most of the related programs [ctags, ref, virec, refont, and wildcard] are
only one file long, so you should have no trouble compiling them.)
The "alias.c" file is meant to be compiled once into an executable named
"ex.exe".
You should then copy "ex.exe" to "vi.exe" and "view.exe".
.PP
\*E stores its temporary files in C:\\tmp.
If this is not satisfactory, then you should edit the CFLAGS line of
your Makefile to change TMPDIR to something else before compiling.
You can also control the name of the temp directory via an environment
variable named TMP or TEMP.
The directory must exist before you can run \*E.
.PP
The TERM environment variable determines how elvis will write to the screen.
It can be set to any one of the following values:
.LD
.ta 1.5i 2.5i
pcbios Use BIOS calls on an IBM-PC clone.
rainbow Use DEC Rainbow interface.
ansi Use ANSI.SYS driver.
nansi User faster NANSI.SYS driver.
.DE
.PP
If the TERM variable isn't set, then elvis will automatically select either
the "rainbow" interface (when run on a Rainbow) or "pcbios" (on an IBM clone).
.PP
You may prefer to use NANSI.SYS for speed;
or you may NEED to use ANSI.SYS for a non-clone, such as a lap-top.
If so, you should
install one of these drivers by adding "driver = nansi.sys" (or whatever)
to your CONFIG.SYS file,
and then you should define TERM to be "nansi" (or whatever) by adding
"set TERM=nansi" to your AUTOEXEC.BAT file.
You must then reboot for these changes to take effect.
After that, \*E will notice the "TERM" setting and use the driver.
.PP
Since ".exrc" is not a valid DOS filename,
the name of the initialization file has been changed to "elvis.rc".
Elvis will look for an "elvis.rc" file first in your home directory,
and then in the current directory.
Note that you must set an environment variable named "HOME" to the
full pathname of your home directory, for Elvis to check there;
if "HOME" isn't set, then Elvis will only look in the current directory.
To set "HOME", you would typically add the following line to your
AUTOEXEC.BAT file:
.br
.ti +0.5i
set HOME c:\\
.PP
An ext